MaxPatrol SIEM
Данное руководство описывает настройку интеграции Solar TI Feeds Agent с MaxPatrol SIEM для автоматической загрузки индикаторов компрометации (IoC) через CSV-файлы.
Предварительные требования
- Установленный и настроенный Solar TI Feeds Agent на системе-источнике
- Доступ к MaxPatrol SIEM с правами администратора
- Скачанный пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb" для MP SIEM (скачать)
Конфигурация интеграции
Интеграция автоматизирует выгрузку индикаторов из Solar TI Feeds в MaxPatrol SIEM. Взаимодействие осуществляется через CSV-файлы, генерируемые агентом, и пакет экспертизы, устанавливаемый в SIEM.
Основные компоненты интеграции:
| Компонент | Назначение |
|---|---|
| Solar TI Feeds Agent | Генерация CSV-файлов с индикаторами |
| Пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb" | Нормализация, обогащение и корреляция событий в SIEM |
| Профиль сбора событий | Сбор CSV-файлов и передача их в SIEM |
| Табличные списки | Хранение индикаторов (IP, Domain/URL, Hash) |
| Правила обогащения и корреляции | Детектирование взаимодействий с индикаторами |
Импорт контента
Для начала работ по настройке требуется перенести в SIEM пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb", включая все макросы (Рисунок 1).

Примечание: Пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb" поставляется вместе с агентом Solar TI Feeds Agent.
Далее необходимо убедиться, что были импортированы все необходимые компоненты:
Нормализации:
- Normalizer_4rays_TI_Cloud
Табличные списки:
- Config_4rays_TI_Cloud_IP_IOC_List
- Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
- Config_4rays_TI_Cloud_Hash_IOC_List
- Config_4rays_TI_Cloud_Parameters
- Exclusion_4rays_TI_Cloud
- StopList_4rays_TI_Cloud
- Tech_4rays_TI_Cloud_Tracking_Activity
- Tech_4rays_TI_Cloud_Hits_Statistics
Правила обогащения:
- Profile_4rays_TI_Cloud
- Tech_4rays_TI_Cloud_IOC_Detection
Правила корреляции:
- Alert_4rays_TI_Cloud_IOC_Detection
Описание контента загрузки фидов
Часть контента SIEM, предназначенная для загрузки и предварительной обработки фидов из CSV-файлов, формируемых агентом, представлена следующими логическими блоками:
Нормализация фидов:
- Normalizer_4rays_TI_Cloud — правило нормализации для обработки записей о фидах всех типов. Поступающие из фидов индикаторы проходят дополнительную обработку по полю Value
Конфигурационные табличные списки с данными о фидах:
- Config_4rays_TI_Cloud_IP_IOC_List — конфигурационный табличный список для хранения индикаторов типов IPV4, IPV6, SOCKETV4 и SOCKETV6
- Config_4rays_TI_Cloud_Domain_or_URL_IOC_List — конфигурационный табличный список для хранения индикаторов типов DOMAIN и URL
- Config_4rays_TI_Cloud_Hash_IOC_List — конфигурационный табличный список для хранения типов MD5, SHA1 и SHA256
Конфигурационные табличные списки не имеют ограничений по TTL, релевантность и актуальность записей в данном формате интеграции определяется на стороне платформы TI Cloud. Поддержание актуального содержимого на стороне SIEM осуществляется на основе действий по полю Action.
Актуализация конфигурационных табличных списков:
Profile_4rays_TI_Cloud — правило обогащения для обработки шести групп событий:
- Событий по добавлению (CREATE) и обновлению (UPDATE) записей типов IPV4, IPV6, SOCKETV4 и SOCKETV6
- Событий по удалению (DELETE) записей типов IPV4, IPV6, SOCKETV4 и SOCKETV6
- Событий по добавлению (CREATE) и обновлению (UPDATE) записей типов DOMAIN и URL
- Событий по удалению (DELETE) записей типов DOMAIN и URL
- Событий по добавлению (CREATE) и обновлению (UPDATE) записей типов MD5, SHA1 и SHA256
- Событий по удалению (DELETE) записей типов MD5, SHA1 и SHA256
Настройка контента загрузки фидов
Для настройки контента по загрузке фидов в табличные списки SIEM необходимо выполнить следующие шаги:
Настройка процесса актуализации конфигурационных списков
-
Добавить в набор установки, привязанный к конвейеру (через который планируется обработка фидов), следующие объекты для актуализации конфигурационных активных листов:
- Normalizer_4rays_TI_Cloud
- Config_4rays_TI_Cloud_IP_IOC_List
- Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
- Config_4rays_TI_Cloud_Hash_IOC_List
- Profile_4rays_TI_Cloud
-
Провести установку этого набора в SIEM для активации указанных правил и табличных списков.
Настройка сбора и обработки фидов
Для настройки профиля и задачи сбора событий для получения и обработки данных о фидах необходимо выполнить следующие действия:
-
Создайте профиль и задачу сбора событий с префиксом
"4rays_TICloud"в названии. Задача будет по мере генерации новых CSV-файлов в директории на системе, где запущен агент Solar TI Feeds Agent, осуществлять сбор и передачу их содержимого на сторону SIEM. Именование CSV-файлов и директория их размещения определяются настройками блокаCSVSink(file.name,file.ext) и параметрами монтирования тома агента (директория/workdir/artifacts). -
В случае сбора содержимого CSV-файлов с использованием модуля
filemonitorв параметрах профиля указать следующие настройки:- Создайте профиль
AccordSuciuCsvLog. В папке журнала указать"artifacts": Обработка событий → Папка журнала → указать значение"/workdir/artifacts" - Установить текстовый формат обработки данных: Обработка событий → Обработка данных → выбрать значение
"Текст" - Установить построчное чтение файла, в качестве разделителя указать
"/n": Обработка событий → Чтение файла → выбрать значение"Построчное"→ Разделитель строк указать значение"/n" - После настройки задачи и первичного сбора данных для того, чтобы при повторном запуске задачи ранее прочитанные файлы не были обработаны снова, активировать параметр: Сбор событий → Собирать события, зарегистрированные только после запуска задачи
- Создайте профиль
Примечание: Если в конфигурации агента включена ротация с удалением файлов (
FileCfg.maxFiles/FileCfg.maxAge), повторная обработка ранее прочитанных файлов не произойдёт, и пункт 4 можно не использовать.
Настройка агента Solar TI Feeds
Агент Solar TI Feeds Agent формирует CSV-файлы с индикаторами на основе данных, получаемых из Solar TI Feeds API. Для интеграции с MaxPatrol SIEM используется конфигурация, состоящая из двух pipeline: feeds-api (загрузка данных из API) и siem (выгрузка данных в CSV-файлы).
Полный код конфигурационного файла для интеграции с MP SIEM
📄 Нажмите, чтобы показать/скрыть siem_pipeline.pkl
amends "package://pkg.pkl-lang.org/github.com/pipelane/pipelaner/pipelaner@1.3.1#/Pipelaner.pkl"
import "package://pkg.pkl-lang.org/github.com/pipelane/pipelaner/pipelaner@1.3.1#/source/Components.pkl"
import "../pkl/internal/agent.pkl"
import "../pkl/internal/templates.pkl"
pipelines {
new Components.Pipeline {
name = "feeds-api"
inputs {
new agent.FeedsAPIGenerator {
name = "feeds-api-generator"
server = templates.TICApiCfg
schedule = (read?("env:TIC_AGENT_API_POOL_INTERVAL") ?? 3600).toInt().s
filter = new agent.FeedsAPIRequestParams {
fields = new Listing {
"all"
}
pagination = new agent.Pagination {
limit = (read?("env:TIC_AGENT_API_BATCH_SIZE") ?? 1000).toInt()
}
}
}
}
sinks {
new agent.FeedsDBSink {
name = "feeds-db-sink"
inputs {
"feeds-api-generator"
}
}
}
}
new Components.Pipeline {
name = "siem"
inputs {
new agent.FeedsDBGenerator {
name = "siem-feeds-db-generator"
schedule = (read?("env:TIC_AGENT_DB_POOL_INTERVAL") ?? 600).toInt().s
delay = (read?("env:TIC_AGENT_DB_START_DELAY") ?? 60).toInt().s
batchSize = (read?("env:TIC_AGENT_DB_BATCH_SIZE") ?? 100).toInt()
batchDelay = (read?("env:TIC_AGENT_DB_BATCH_DELAY") ?? 100).toInt().ms
}
new agent.FeedsDBFailedGenerator {
name = "siem-feeds-db-failed-generator"
feedGenName = "siem-feeds-db-generator"
}
}
sinks {
new agent.CSVSink {
name = "csv-sink"
inputs {
"siem-feeds-db-generator"
"siem-feeds-db-failed-generator"
}
columns {
"*"
}
file {
mode = "rolling"
}
maxLines = 10_000
idleTO = 30.min
withHeaders = false
useJSON = true
}
}
}
}
settings = templates.baseSettings
Структура pipeline
| Pipeline | Назначение |
|---|---|
feeds-api | Загрузка данных из Solar TI Feeds API и сохранение в локальную SQLite-базу |
siem | Чтение данных из базы и выгрузка в CSV-файлы для последующего сбора SIEM |
Параметры CSVSink
| Параметр | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
columns | Listing<String> | — | Список колонок для выгрузки. В конфигурации указывается "*" (все колонки) |
withHeaders | Boolean | true | Выгружать ли заголовки в CSV. В конфигурации указывается false |
useJSON | Boolean | false | Использовать ли JSON-формат записей. В конфигурации указывается true |
maxLines | Int | 0 | Количество строк в одном файле. Если превышено — создаётся новый файл |
idleTO | Duration | 0.s | Время без новых данных. Если превышено — создаётся новый файл |
file | FileCfg | — | Настройки файлового вывода (см. ниже) |
Параметры FileCfg (настройки файлового вывода)
| Параметр | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
name | String | "out" | Имя файла |
ext | String | "csv" | Расширение файла |
mode | FileMode | "append" | Режим работы с файлом. В данной конфигурации всегда должно быть "rolling" |
maxFiles | Int | 0 | Ротация: сколько файлов хранить |
maxAge | Int | 0 | Ротация: как долго хранить файлы |
cleanInterval | Duration | 1.d | Периодичность запуска ротации |
Переменные окружения
Для работы интеграции необходимо определить следующие переменные окружения (используются в конфигурационном файле агента):
| Переменная | Назначение | Значение по умолчанию |
|---|---|---|
TIC_AGENT_API_POOL_INTERVAL | Интервал опроса Solar TI Feeds API (в секундах) | 3600 |
TIC_AGENT_API_BATCH_SIZE | Размер пакета при загрузке из API | 1000 |
TIC_AGENT_DB_POOL_INTERVAL | Интервал чтения из локальной БД (в секундах) | 600 |
TIC_AGENT_DB_START_DELAY | Задержка перед первым чтением из БД (в секундах) | 60 |
TIC_AGENT_DB_BATCH_SIZE | Размер пакета при чтении из БД | 100 |
TIC_AGENT_DB_BATCH_DELAY | Задержка между пакетами при чтении из БД (в миллисекундах) | 100 |
Результат работы агента
При запуске агента в смонтированной директории /workdir/artifacts начнут появляться CSV-файлы с индикаторами. Имя и расширение файлов задаются параметрами file.name и file.ext блока CSVSink, а момент создания нового файла определяется параметрами maxLines и idleTO.
При настройке профиля и задачи сбора событий в MaxPatrol SIEM необходимо указать путь к этой директории — /workdir/artifacts, чтобы SIEM мог обнаруживать и забирать вновь создаваемые CSV-файлы.
Запуск агента Solar TI Feeds
После выполнения настроек в SIEM, описанных на предыдущих шагах, необходимо запустить агент Solar TI Feeds Agent на системе для генерации CSV-файлов с фидами.
После запуска агента будет сформирован файл первичной выгрузки, в котором будет содержаться актуальная и полная на данный момент база фидов TI Feeds. Следующие файлы будут содержать записи только о тех индикаторах в фидах, для которых произошли изменения со времени предыдущего обновления.
Проверка работоспособности загрузки фидов в списки
Фиды поступают в SIEM в виде событий, после нормализации доступны для поиска следующими способами:
Сбор данных → Задачи → [выбрать созданную задачу] → Собранные события → Перейти
Или выполните поиск по фильтру:
События → Поиск по фильтру: event_src.vendor = "Solar Security" and event_src.title = "4rays TI Cloud"

После проверки наличия нормализованных событий требуется проверить заполнение конфигурационных списков: В разделе Сбор данных → Табличные списки проверьте наполнение списков Config_4rays_TI_Cloud.
Описание контента детектирования
Контент детектирования сработок по фидам представлен следующим списком объектов:
-
Правила обогащения:
- Tech_4rays_TI_Cloud_IOC_Detection;
-
Правила корреляции:
- Alert_4rays_TI_Cloud_IOC_Detection;
-
Табличные списки:
- Config_4rays_TI_Cloud_Parameters;
- Exclusion_4rays_TI_Cloud;
- StopList_4rays_TI_Cloud;
- Tech_4rays_TI_Cloud_Tracking_Activity;
- Tech_4rays_TI_Cloud_Hits_Statistics.
-
Макросы:
- Filter_4rays_TI_Cloud_Alert_from_Detection_System;
- Filter_4rays_TI_Cloud_ExternalIP;
- Filter_4rays_TI_Cloud_Network_Connection;
- Filter_4rays_TI_Cloud_Proxy;
- Filter_4rays_TI_Cloud_DNS;
- Filter_4rays_TI_Cloud_Domain_notin_WL.
Технические поля корреляционных правил:
| Поле корреляционного события | Описание |
|---|---|
| correlation_name | Имя корреляционного правила |
| correlation_type | Тип оповещения |
| alert.context | Информация о взаимодействии, информация об индикаторе |
| alert.key | Ключ корреляции |
Описание контента для детектирования взаимодействий с фидами приведено ниже.
Правило обогащения Tech_4rays_TI_Cloud_IOC_Detection
Основная логика детектирования и работы со списками реализована в правиле обогащения ввиду обработки большого числа событий. Данное правило обрабатывает базовые события. Для передачи технической информации о срабатывании требуется использование одного из полей. В качестве такого поля было выбрано поле datafield10. В случае, если данное поле используется в логике других правил, следует заменить его на другое подходящее в правилах обогащения и корреляции 4rays.
datafield10 = "4rays TI Cloud[IOC: " + $IOC + " Host: " + $Host + " EventType: $EventType]"
При использовании правила обогащения Tech_4rays_TI_Cloud_IOC_Detection не происходит генерация корреляционного события и алерта.
| Проверяемые поля базового события | Тип паттерна проверки | Логика правила |
|---|---|---|
| src.ip | IPAddress | src.ip удовлетворяет фильтру Filter_4rays_TI_Cloud_ExternalIP И событие подходит под один из фильтров: • Filter_4rays_TI_Cloud_Alert_from_Detection_System • Filter_4rays_TI_Cloud_Network_Connection И паттерн присутствует в списке Config_4rays_TI_Cloud_IP_IOC_List |
| dst.ip, dst.port | IPAddress, Port | dst.ip удовлетворяет фильтру Filter_4rays_TI_Cloud_ExternalIP И событие подходит под один из фильтров: • Filter_4rays_TI_Cloud_Alert_from_Detection_System • Filter_4rays_TI_Cloud_Network_Connection И один из паттернов присутствует в списке Config_4rays_TI_Cloud_IP_IOC_List |
| dst.fqdn → dst.hostname → object.name (проверяется первое непустое поле) | Domain | Событие подходит под один из фильтров: • Filter_4rays_TI_Cloud_Proxy • Filter_4rays_TI_Cloud_Alert_from_Detection_System И один из паттернов присутствует в списке Config_4rays_TI_Cloud_Domain_or_URL_IOC_List |
| Проверяемое поле определяется источником: object.value ИЛИ object.query ИЛИ datafield1 | Domain | Событие подходит под оба фильтра: • Filter_4rays_TI_Cloud_DNS • Filter_4rays_TI_Cloud_Domain_notin_WL И один из паттернов присутствует в списке Config_4rays_TI_Cloud_Domain_or_URL_IOC_List |
| Проверяемое поле определяется источником: object.value ИЛИ datafield2 ИЛИ object.fullpath → object.path → object.query → datafield1 (проверяется первое непустое поле) | URL | Событие подходит под один из фильтров: • Filter_4rays_TI_Cloud_Proxy • Filter_4rays_TI_Cloud_Alert_from_Detection_System И один из паттернов присутствует в списке Config_4rays_TI_Cloud_Domain_or_URL_IOC_List |
| object.process.hash.md5 → object.hash.md5 → object.hash ИЛИ object.process.hash.sha1 → object.hash.sha1 → object.hash ИЛИ object.process.hash.sha256 → object.hash.sha256 → object.hash ИЛИ subject.process.hash.sha256 → subject.process.hash ИЛИ subject.process.hash (проверяется первое непустое поле) | Hash | Значение поля object равно "process" или "file" или "resource" или "malware" или "module" или "handle" или "file_object" или "reg_object" или "system" или "connection" или "port" или "attack"И хотя бы одно из полей хеша не равно null И паттерн присутствует в списке Config_4rays_TI_Cloud_Hash_IOC_List |
Примечания по правилу обогащения Tech_4rays_TI_Cloud_IOC_Detection:
- Фильтр (макрос)
Filter_4rays_TI_Cloud_Alert_from_Detection_Systemдоступен для изменения с учетом СЗИ инфраструктуры (по умолчанию фильтр заполнен условиями на события наиболее распространенных источников категории СЗИ). - Фильтры (макросы)
Filter_4rays_TI_Cloud_Network_Connection,Filter_4rays_TI_Cloud_Proxy,Filter_4rays_TI_Cloud_DNSсодержат условия на наиболее распространенные источники соответствующих категорий. Для категории DNS также определен фильтр для дополнительной фильтрацииFilter_4rays_TI_Cloud_Domain_notin_WL.
В правиле реализована логика детектирования на основе зоны индикатора и статистики срабатываний. Событие отправляется в коррелятор, если выполняется одно из условий:
- Событие получено от СЗИ;
- Зафиксировано взаимодействие с индикатором зоны MALICIOUS или SUSPICIOUS;
- Зафиксировано взаимодействие с индикатором зоны UNKNOWN.
И выполняется хотя бы одно из условий:
- В течение 2 суток зафиксировано >= N событий взаимодействия:
- Конкретного хоста с любым из фидов базы;
- Конкретного индикатора зоны UNKNOWN с любым из хостов.
- На протяжении >= M последних суток фиксируются взаимодействия:
- Конкретного хоста с любым из фидов базы;
- Конкретного индикатора зоны UNKNOWN с любым из хостов.
Пороговые значения срабатываний определяются в конфигурационном справочнике Config_4rays_TI_Cloud_Parameters (по умолчанию параметр N = 10 событий, параметр M = 3 суток).
Особенности работы правила обогащения:
- Проводит фильтрацию активности, заданной в справочнике с исключениями
Exclusion_4rays_TI_Cloud; - Заполняет информационный профиль срабатываний
Tech_4rays_TI_Cloud_Hits_Statistics(TTL = 30d), анализ которого позволяет увидеть все взаимодействия с индикаторами фидов за последние 30 суток; - Заполняет технический список
Tech_4rays_TI_Cloud_Tracking_Activity(TTL = 2d), который используется для генерации статистических корреляций; - Фиксирует срабатывание логики детектирования в стоп-листе
StopList_4rays_TI_Cloud(TTL = 1h), ограничивая генерацию корреляционных событий, при этом срабатывания доступны для анализа в спискеTech_4rays_TI_Cloud_Hits_Statistics.
Правило корреляции Alert_4rays_TI_Cloud_IOC_Detection
| Логика правила | Генерация корреляционного события и алерта |
|---|---|
datafield10 contains "4rays TI Cloud"И $indicator_zone = "MALICIOUS" | Корреляционное событие с критичностью High, алерт с критичностью High + Инцидент |
datafield10 contains "4rays TI Cloud"И событие подходит под фильтр Filter_4rays_TI_Cloud_Alert_from_Detection_System | Корреляционное событие с критичностью High |
datafield10 contains "4rays TI Cloud: detect"И событие НЕ подходит под фильтр Filter_4rays_TI_Cloud_Alert_from_Detection_System | Корреляционное событие с критичностью Medium |
Уникальными ключевыми полями алерта у правила корреляции Alert_4rays_TI_Cloud_IOC_Detection является комбинация полей $ioc_feeds (источник фида), $ioc (значение индикатора) и $host (хост, взаимодействовавший с индикатором).
Настройка контента детектирования
Для настройки контента детектирования необходимо выполнить следующие действия:
-
Добавить в набор установки, привязанный к конвейеру (через который планируется обработка фидов), следующие объекты:
Tech_4rays_TI_Cloud_IOC_Detection;Alert_4rays_TI_Cloud_IOC_Detection;Config_4rays_TI_Cloud_Parameters;Exclusion_4rays_TI_Cloud;StopList_4rays_TI_Cloud;Tech_4rays_TI_Cloud_Tracking_Activity;Tech_4rays_TI_Cloud_Hits_Statistics.
-
Провести установку в SIEM обновлённого набора установки для активации указанных правил и табличных списков.
Примеры корреляционных срабатываний
Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью High + Инцидент на индикатор с зоной MALICIOUS
Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью High + Инцидент на индикатор с зоной MALICIOUS представлен на рисунках:

Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной SUSPICIOUS
Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной SUSPICIOUS представлен на рисунке:

Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной UNKNOWN
Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной UNKNOWN представлен на рисунке:

Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью High на индикатор с зоной MALICIOUS
Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью High на индикатор с зоной MALICIOUS представлен на рисунке:
